home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mmdf / mmdf-IIb.43 / lib / dial / d_getnbuff.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-02-01  |  923 b   |  45 lines

  1. #include  "d_proto.h"
  2. #include <signal.h>
  3. #include  "d_syscodes.h"
  4. #include  "d_returns.h"
  5.  
  6. /*
  7.  *     D_GETNBUFF
  8.  *
  9.  *     this routine watches for an incoming NBUFF packet from the remote
  10.  *     host.  it thens set the transmit buffering limit.
  11.  *
  12.  */
  13.  
  14. d_getnbuff()
  15.     {
  16.     extern int  d_errno;
  17.     extern int  d_nbuff;
  18.     register int  length;
  19.     char  packet[MAXPACKET + 2];
  20.  
  21. #ifdef D_DBGLOG
  22.     d_dbglog("d_getnbuff", "looking for NBUFF from other end");
  23. #endif D_DBGLOG
  24.  
  25. /*  set timer so we don't wait forever  */
  26.  
  27.     length = d_watch(packet, NBUFF);
  28.  
  29.     if (length < 0)
  30.     return(length);
  31.  
  32.     if (length != LNBUFF)
  33.     {
  34. #ifdef D_DBGLOG
  35.       d_dbglog("d_getnbuff", "bad NBUFF packet length (%d)", length);
  36. #endif D_DBGLOG
  37.       d_errno = D_INITERR;
  38.       return (D_FATAL);
  39.     }
  40.  
  41.       d_nbuff = d_fromhex(packet[NBOFF]);
  42.       d_nbuff = (d_nbuff << 4) | d_fromhex(packet[NBOFF + 1]);
  43.       return(D_OK);
  44.     }
  45.